1. Field of the Invention
The present invention relates to systems and methods for providing video program material to subscribers, and in particular to a method and system for providing near video on demand services.
2. Description of the Related Art
In recent years, there has been increasing interest in providing video-on-demand (VOD) services to cable and satellite television subscribers. With an idealized VOD system, the user simply selects the desired program material (video or audio), transmits the selection to the video provider, and the video program is transmitted to the user in a real time data stream. With such idealized systems, the user can control the display of the video program in real time by issuing stop, rewind, fast-forward, or pause commands. These commands are received by the video server, and the data stream is interrupted or modified as appropriate for the command from the viewer. Essentially, this VOD paradigm implements a client-server architecture wherein the user's set top box (or computer) is the client, and the video server is the server.
While the foregoing VOD system would provide the user with beneficial and flexible service, it suffers from several major disadvantages. First, it places tremendous difficulties on the input/output (I/O) multiplexing and bandwidth capabilities of the video server. While the real-time transmission of a single video program to a single video subscriber is relatively easy to accomplish, this is not the case when a wide variety of different video sources may be requested by a large number of video subscribers all at the same time. Essentially, because subscriber requests are generally asynchronous, each request for a particular video program requires a separate transmission, and each separate transmission consumes a portion of the available bandwidth.
Second, the foregoing systems are intolerant of communication latencies between the user and the video server. Particularly when fast-forwarding and rewinding through video sequences to look for segments of interest, users may issue a number of commands in rapid succession, expecting near instantaneous responses from the video server. Even minor communication latencies can become an extreme irritation to the user.
Many different solutions to these problems have been proposed, but for the most part, these solutions have had limited success. For the most part, these solutions are unnecessarily complicated and expensive because they focus on streamlining the data transmission process with the use of higher capability equipment, or a plurality of remotely located video servers.
What is needed is a method for supplying video on demand to a large number of subscribers, each of which may request a different program and at times asynchronous to one another. The present invention satisfies that need.